package cn.iocoder.yudao.module.api.shop.category;

import java.util.Set;

/**
 * 店铺行业类目的 API 接口
 *
 * @author 山野羡民（1032694760@qq.com）
 */
public interface ShopCategoryApi {

    /**
     * 根据店铺主营行业类目获得产品类型
     *
     * @param shopId 店铺编号
     * @return 产品类型
     */
    String getProductTypeByShopId(Long shopId);

    /**
     * 获得 O2O 店铺主营类目编号集合
     * @return 类目编号集合
     */
    Set<Long> getIdsByO2O();

    /**
     * 获得开启状态的类目编号集合
     *
     * @param parentCode 父类目标识
     * @return 类目编号集合
     */
    Set<Long> getEnableDescendentCategoryIds(String parentCode, boolean includeParent);

    /**
     * 获得开启状态的类目编号集合
     *
     * @param parentId 父类目编号
     * @return 类目编号集合
     */
    Set<Long> getEnableDescendentCategoryIds(Long parentId);

    /**
     * 获取行业类目编号
     *
     * @param supplyRelatedId 供应方关联编号
     * @return 行业类目编号
     */
    long getIdBySupplyRelatedId(Long supplyRelatedId);

}
